import os
import pandas as pd

# 文件夹路径
folder_path = '/Users/code/ct-enterprise-code/BiddingData/output/7a'

# 合并后的文件路径
output_file = '/Users/code/ct-enterprise-code/BiddingData/output/7aoutput4.xlsx'

# 共同的sheet名称列表
common_sheet_names = ['DICT类设计咨询标数据','DICT类设计咨询标中标数据','DICT类招标数据', 'DICT类中标数据', '非DICT类其余招标数据','非DICT类其余中标数据']

# 创建一个空的DataFrame来存储所有数据
merged_data = {}

# 初始化每个共同的sheet的DataFrame
for sheet_name in common_sheet_names:
    merged_data[sheet_name] = pd.DataFrame()

# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):
    if file_name.endswith('.xlsx'):
        file_path = os.path.join(folder_path, file_name)
        print(f"正在处理文件: {file_path}")

        # 读取Excel文件中的每个共同的sheet到对应的DataFrame中
        for sheet_name in common_sheet_names:
            try:
                df = pd.read_excel(file_path, sheet_name=sheet_name)
                # 合并数据到对应的DataFrame中
                merged_data[sheet_name] = pd.concat([merged_data[sheet_name], df])
                print(f"成功读取sheet: {sheet_name} 来自文件: {file_path}")
            except Exception as e:
                print(f"读取文件 {file_path} 中的sheet {sheet_name} 时出错: {e}")

# 将合并后的数据保存到新的Excel文件中
with pd.ExcelWriter(output_file) as writer:
    for sheet_name, df in merged_data.items():
        df.to_excel(writer, sheet_name=sheet_name, index=False)
        print(f"已将sheet: {sheet_name} 写入输出文件")

print(f"所有文件已合并并保存至: {output_file}")
